package com.pe.pgn.clubpgn.service.impl;

import java.util.List;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import com.pe.pgn.clubpgn.dao.AsignacionArticuloDao;
import com.pe.pgn.clubpgn.domain.ClpbAlmacen;
import com.pe.pgn.clubpgn.domain.ClpbDocumentoMovArticulo;
import com.pe.pgn.clubpgn.domain.ClpdArticulo;
import com.pe.pgn.clubpgn.domain.ClpmCatalogo;
import com.pe.pgn.clubpgn.domain.ClpmStockAlmacenCatalogo;
import com.pe.pgn.clubpgn.domain.ClprPremioCatalogo;
import com.pe.pgn.clubpgn.domain.beans.BNAsignacionArticuloCatalogoDetalle;
import com.pe.pgn.clubpgn.service.AsignacionArticuloService;

@Service("asignacionArticuloService")
public class AsignacionArticuloServiceImpl extends GenericManagerImpl<ClpbDocumentoMovArticulo, Long> implements
AsignacionArticuloService {

	@Autowired
	private AsignacionArticuloDao asignacionArticuloDao;

	public List<ClpbDocumentoMovArticulo> busquedaDocumentoAsignacionPorFiltros(
			String deDocumento, Long coAlmacenOrigen, Long coAlmacenDestino) {
		return asignacionArticuloDao.busquedaDocumentoAsignacionPorFiltros(deDocumento, coAlmacenOrigen, coAlmacenDestino);
	}

	public void guardarAsignacionArticulo(
			ClpbDocumentoMovArticulo documentoMovArticulo) {
		asignacionArticuloDao.guardarAsignacionArticulo(documentoMovArticulo);			
	}

	public ClpbAlmacen obtenerAlmacen(Long idAlmacen) {
		return asignacionArticuloDao.obtenerAlmacen(idAlmacen);
	}

	public ClpdArticulo obtenerArticulo(
			BNAsignacionArticuloCatalogoDetalle detalle) {
		return asignacionArticuloDao.obtenerArticulo(detalle);
	}

	public ClpdArticulo obtenerArticulo(String coCodigoArticulo) {
		return asignacionArticuloDao.obtenerArticulo(coCodigoArticulo);
	}

	public ClpmCatalogo obtenerCatalogo(Long idCatalogo) {
		return asignacionArticuloDao.obtenerCatalogo(idCatalogo);
	}

	public ClpbDocumentoMovArticulo obtenerDocumentoAsignacionArticulo(Long id) {
		return asignacionArticuloDao.obtenerDocumentoAsignacionArticulo(id);
	}

	public List<ClpbDocumentoMovArticulo> obtenerDocumentoAsignacionArticulos() {
		return asignacionArticuloDao.obtenerDocumentoAsignacionArticulos();
	}

	public ClprPremioCatalogo obtenerPremio(String coCodigoPremio) {
		return asignacionArticuloDao.obtenerPremio(coCodigoPremio);
	}

	public ClpmStockAlmacenCatalogo obtenerStockAlmCata(Long idArticulo,
			Long idAlmacen, Long idCatalogo) {
		return asignacionArticuloDao.obtenerStockAlmCata(idArticulo, idAlmacen, idCatalogo);
	}

	public ClpmStockAlmacenCatalogo obtenerStockAlmCata(Long idArticulo,
			Long idAlmacen) {
		return asignacionArticuloDao.obtenerStockAlmCata(idArticulo, idAlmacen);
	}

	public void guardarDocumentoAsignacionArticuloACatalogo(
			ClpbDocumentoMovArticulo documentoMovArticulo) {
		guardarAsignacionArticulo(documentoMovArticulo);	
	}
	
	
	
}
